From: Matthew Leeds Date: Fri, 4 Aug 2017 20:18:40 +0000 (-0700) Subject: main: Fix subcommand usage output X-Git-Tag: archive/raspbian/2022.1-3+rpi1~1^2~4^2~33^2~42 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/success//%22http:/www.example.com/cgi/success/?a=commitdiff_plain;h=5682f4cc041d1b53448739f8656ed6fd120e7dbe;p=ostree.git main: Fix subcommand usage output This commit sets prgname correctly so that the "ostree subcommand --help" output prints the subcommand rather than just "ostree". This was removed in commit f0519e541f29 because it tripped the thread sanitizer, but it's being added back conditionally so most users who don't compile with -fsanitize=adress see proper help output. Closes: #1054 Approved by: cgwalters --- diff --git a/configure.ac b/configure.ac index 58689cc0..228ee84b 100644 --- a/configure.ac +++ b/configure.ac @@ -58,6 +58,19 @@ else AC_MSG_RESULT([no]) fi AM_CONDITIONAL(BUILDOPT_ASAN, [test x$using_asan = xyes]) +AM_COND_IF([BUILDOPT_ASAN], + [AC_DEFINE([BUILDOPT_ASAN], 1, [Define if we are building with -fsanitize=address])]) + +AC_MSG_CHECKING([for -fsanitize=thread in CFLAGS]) +if echo $CFLAGS | grep -q -e -fsanitize=thread; then + AC_MSG_RESULT([yes]) + using_tsan=yes +else + AC_MSG_RESULT([no]) +fi +AM_CONDITIONAL(BUILDOPT_TSAN, [test x$using_tsan = xyes]) +AM_COND_IF([BUILDOPT_TSAN], + [AC_DEFINE([BUILDOPT_TSAN], 1, [Define if we are building with -fsanitize=thread])]) # Initialize libtool LT_PREREQ([2.2.4]) diff --git a/src/ostree/ot-main.c b/src/ostree/ot-main.c index 56d247b4..5b6e301d 100644 --- a/src/ostree/ot-main.c +++ b/src/ostree/ot-main.c @@ -117,6 +117,9 @@ ostree_run (int argc, OstreeCommand *command; GError *error = NULL; GCancellable *cancellable = NULL; +#ifndef BUILDOPT_TSAN + g_autofree char *prgname = NULL; +#endif const char *command_name = NULL; gboolean success = FALSE; int in, out; @@ -192,6 +195,11 @@ ostree_run (int argc, goto out; } +#ifndef BUILDOPT_TSAN + prgname = g_strdup_printf ("%s %s", g_get_prgname (), command_name); + g_set_prgname (prgname); +#endif + if (!command->fn (argc, argv, cancellable, &error)) goto out;